<?xml version="1.0"?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  "http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">

<type name="ini">

<region name="Symbol" parent="def:Symbol"/>
<region name="SymbolStrong" parent="def:SymbolStrong"/>
<region name="Number" parent="def:Number"/>
<region name="String" parent="def:String"/>

<region name="group.name" parent="def:Tag" description="['group']"/>
<region name="group.name.defined" parent="def:Keyword"/>
<region name="group.quot" parent="def:OpenTag" description="'[' and ']'"/>

<region name="param.name" parent="def:ParameterUnknown"/>
<region name="param.name.defined" parent="def:Parameter"/>
<region name="param.equ" parent="Symbol"/>

<region name="param.content" parent="def:default"/>
<region name="param.content.defined" parent="def:Var"/>
<region name="comment" parent="def:Comment"/>
<region name="CLSID" parent="def:NumberHex"/>

<region name="option" parent="def:VarStrong"/>
<region name="option.defined" parent="def:Var"/>

<entity name='hex' value="[0-9a-fA-F]"/>

<scheme name="clsid">
 <regexp match="/((\{))%hex;{8}(\-)%hex;{4}(\-)%hex;{4}(\-)%hex;{4}(\-)%hex;{12}((\}))/"
  region="CLSID" region1="SymbolStrong" region8="SymbolStrong" 
  region3="Symbol" region4="Symbol" region5="Symbol" region6="Symbol"
  region2="def:PairStart" region7="def:PairEnd"
 />
 <regexp match="/%hex;{8}(\-)%hex;{4}(\-)%hex;{4}(\-)%hex;{4}(\-)%hex;{12}/"
  region="CLSID" 
  region1="Symbol" region2="Symbol" region3="Symbol" region4="Symbol"
 />
</scheme>



<scheme name="comment">
 <block start="/\;/" end="/$/" region="comment" scheme="def:Comment"/>
</scheme>

<scheme name="error">
 <regexp match="/\S/" region="def:Error" priority="low"/>
</scheme>
<!--scheme name="error.content">
 <inherit scheme="comment"/>
 <inherit scheme="error.name"/>
</scheme-->

<scheme name="bat.var">
 <regexp match="/(\%)[^\[\]]*?(\%)/" 
  region0="def:Var" region1="def:PairStart" region2="def:PairEnd"
 />
 <regexp match="/\$\w+/" region0="def:Var"/>
</scheme>

<scheme name="string">
 <block start="/([&quot;&apos;])/" end="/(\y1)|$/" 
  scheme="string.content" region="String"
  region00="String" region10="String"
  region01="def:PairStart" region11="def:PairEnd"
 />
</scheme>

<scheme name="string.content">
 <!--regexp match="/\\./" region="def:StringContent"/ content-priority="low"-->
 <inherit scheme="bat.var"/>
 <inherit scheme="clsid"/>
 <inherit scheme="def:Path"/>
</scheme>

<scheme name="option">
 <block start="/\s?#1([\/\-])\M[^\s&quot;&apos;\\]+/" end="/~[^\s&quot;&apos;\\]+\m/" 
  scheme="option.content" region="option" region01="option.defined"
 />
</scheme>

<scheme name="option.content"/>


<scheme name="item.content">
 <inherit scheme="comment"/>
 <inherit scheme="string"/>
 <inherit scheme="clsid"/>
 <inherit scheme="option"/>
 <inherit scheme="bat.var"/>
 <inherit scheme="def:Number"/>
 <inherit scheme="def:Path"/>
 <keywords region="Symbol">
  <symb name=","/>  
  <symb name="."/>  
  <symb name=":"/>  
  <symb name="\"/>  
  <symb name="/"/>  
  <symb name="="/>  
  <symb name="("/>  
  <symb name="-"/>  
  <symb name=")"/>  
 </keywords>
</scheme>

<scheme name="group">
 <inherit scheme="comment"/>
 <block start="/~(\[)/" end="/(\])\M[^\]]*$/" 
  scheme="group.name" region="ini:group.name"
  region00="def:PairStart" region10="def:PairEnd"
  region01="group.quot" region11="group.quot"
 />
 <block start="/\M^[^\=\[]+\=/" end="/$/" 
  scheme="param" region="ini:param.content"
 />
 <inherit scheme="item.content"/>
</scheme>

<scheme name="param">
 <block start="/~/" end="/\=/" 
  scheme="param.name" region="param.name" region10="param.equ"
 />
 <inherit scheme="param.content"/>
</scheme>

<scheme name="param.name"/>

<scheme name="param.content">
 <inherit scheme="item.content"/>
</scheme>


<scheme name="group.name">
 <regexp match="/~\M(?{def:Outlined}[^\]]+)/"/>
 <inherit scheme='group.name.error'/>
</scheme>

<scheme name="group.name.error">
 <keywords region="def:Error">
  <symb name="["/>
  <symb name="]"/>
 </keywords>
</scheme>



<scheme name="ini">
 <block start="/\M^\[[^\]]+\]/" end="/\M^\[[^\]]+\]/" scheme="group"/> 
 <inherit scheme="comment"/>
</scheme>
  

</type>

</hrc>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is the Colorer Library.
   -
   - The Initial Developer of the Original Code is
   - Eugene Efremov <4mirror@mail.ru>.
   - Portions created by the Initial Developer are Copyright (C) 2003-2005
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->